#!/bin/bash
dataSource='passwd';
homePath='.';
AddUsers=".Add.sh";
DeleteUsers=".Delete.sh";

# 自定义函数，判断 passwd文件是否存在，如果文件不存在，会显示警告
checkDataSourceFileExist() {
  if [ -f $dataSource ]; then
    # 文件存在
    return 0
  else
    # 文件不存在
    clear
    echo -n "警告 [$dataSource]不存在！请确认！"
    read
    return 1
  fi
}

a="你的选择是: "
b="输入的关键字是: "
clear
while [ true ]; do
  checkDataSourceFileExist
  echo "====================信息主菜单===================="
  echo "  1. 打印当前所有记录"
  echo "  2. 打印当前所有记录(格式化后)"
  echo "  3. 打印用户名和用户ID"
  echo "4. 打印(格式化了的)打印用户名和用户ID"
  echo "5. 查询特定记录"
  echo "6. 增加新纪录"
  echo "7. 删除记录"
  echo "q. 退出"
  echo -e "你的选择是: (等待用户输入)"
  echo
  read choice
  echo $a $choice
  case $choice in
  1)
    checkDataSourceFileExist
    awk -F: '{print $1 OFS $2 OFS $3 OFS $4 OFS $5 OFS $6 OFS $7 }' $dataSource
    ;;
  2)
    checkDataSourceFileExist
    awk -F: '{print $1 "\t" $2 "\t" $3 "\t" $4 "\t" $5 "\t" $6 "\t" $7 }' $dataSource | sort
    ;;
  3)
    checkDataSourceFileExist
    awk -F: '{print $1 OFS $3 }' $dataSource
    ;;
  4)
    checkDataSourceFileExist
    awk -F: '{print $1 "\t" $3 }' $dataSource | sort
    ;;
  5)
    checkDataSourceFileExist
    #  while  [true];  do
    while true; do
      echo "请输入要查询的用户名: "
      read answer
      echo "$b $answer"
      if [ test -z "$answer" ]; then
        echo "你还没有输入"
        continue
        #          elif [grep -i $answer $dataSource];then
      elif
        grep -i $answer $dataSource
      then
        echo " "
        break
      else
        echo "你输入的用户不存在，没有找到 $answer"
        break
      fi
    done
    ;;
  6)
    $AddUsers
    ;;
  7)
    $DeleteUsers
    ;;
  q)
    exit
    ;;
  Q)
    exit
    ;;
  *)
    echo "无效的代码"
    ;;

  esac

  echo "请按回车继续..."
  read answer
done
